home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 October / Chip Ekim 2003.iso / prog / web / aspmaker / setup.exe / %MAINDIR% / src / ew.js < prev    next >
Encoding:
JavaScript  |  2003-08-28  |  11.5 KB  |  577 lines

  1. // Form Validation JavaScript
  2.  
  3. function EW_onError(form_object, input_object, object_type, error_message)
  4.     {
  5.         alert(error_message);
  6.         if (object_type == "RADIO" || object_type == "CHECKBOX") {
  7.             if (input_object[0])
  8.                 input_object[0].focus();
  9.             else
  10.                 input_object.focus();
  11.         }
  12.         else
  13.             input_object.focus();
  14.         if (object_type == "TEXT" || object_type == "PASSWORD")
  15.             input_object.select();        
  16.            return false;    
  17.     }
  18.  
  19.  
  20. function EW_hasValue(obj, obj_type)
  21.     {
  22.     if (obj_type == "TEXT" || obj_type == "PASSWORD" || obj_type == "TEXTAREA")
  23.     {
  24.         if (obj.value.length == 0) 
  25.               return false;
  26.         else 
  27.               return true;
  28.         }
  29.     else if (obj_type == "SELECT")
  30.     {
  31.         if (obj.selectedIndex == 0)
  32.             return false;
  33.         else
  34.                return true;    
  35.     }   
  36.     else if (obj_type == "RADIO" || obj_type == "CHECKBOX")
  37.     {
  38.         if (obj[0])
  39.         {
  40.             for (i=0; i < obj.length; i++)
  41.                 {
  42.             if (obj[i].checked)
  43.                 return true;
  44.             }
  45.         }
  46.         else
  47.         {
  48.             if (obj.checked)
  49.                 return true;
  50.             else
  51.                    return false;    
  52.         }
  53.            return false;    
  54.     }
  55.     }
  56.  
  57.     
  58. // Date (mm/dd/yyyy)
  59. function EW_checkusdate(object_value)
  60.     {
  61.     if (object_value.length == 0)
  62.         return true;
  63.  
  64.        isplit = object_value.indexOf('/');
  65.  
  66.     if (isplit == -1 || isplit == object_value.length)
  67.         return false;
  68.  
  69.     sMonth = object_value.substring(0, isplit);
  70.  
  71.     if (sMonth.length == 0)
  72.         return false;
  73.  
  74.     isplit = object_value.indexOf('/', isplit + 1);
  75.  
  76.     if (isplit == -1 || (isplit + 1 ) == object_value.length)
  77.         return false;
  78.  
  79.     sDay = object_value.substring((sMonth.length + 1), isplit);
  80.  
  81.     if (sDay.length == 0)
  82.         return false;
  83.  
  84.     sYear = object_value.substring(isplit + 1);
  85.  
  86.     if (!EW_checkinteger(sMonth)) 
  87.         return false;
  88.     else
  89.     if (!EW_checkrange(sMonth, 1, 12)) 
  90.         return false;
  91.     else
  92.     if (!EW_checkinteger(sYear)) 
  93.         return false;
  94.     else
  95.     if (!EW_checkrange(sYear, 0, 9999)) 
  96.         return false;
  97.     else
  98.     if (!EW_checkinteger(sDay)) 
  99.         return false;
  100.     else
  101.     if (!EW_checkday(sYear, sMonth, sDay))
  102.         return false;
  103.     else
  104.         return true;
  105.     }
  106.  
  107.     
  108. // Date (yyyy/mm/dd)
  109. function EW_checkdate(object_value)
  110.     {
  111.     if (object_value.length == 0)
  112.         return true;
  113.  
  114.     isplit = object_value.indexOf('/');
  115.  
  116.     if (isplit == -1 || isplit == object_value.length)
  117.         return false;
  118.  
  119.     sYear = object_value.substring(0, isplit);
  120.  
  121.     isplit = object_value.indexOf('/', isplit + 1);
  122.  
  123.     if (isplit == -1 || (isplit + 1 ) == object_value.length)
  124.         return false;
  125.  
  126.     sMonth = object_value.substring((sYear.length + 1), isplit);
  127.     
  128.     if (sMonth.length == 0)
  129.         return false;
  130.  
  131.     sDay = object_value.substring(isplit + 1);
  132.     
  133.     if (sDay.length == 0)
  134.         return false;
  135.  
  136.     if (!EW_checkinteger(sMonth)) 
  137.         return false;
  138.     else
  139.     if (!EW_checkrange(sMonth, 1, 12)) 
  140.         return false;
  141.     else
  142.     if (!EW_checkinteger(sYear)) 
  143.         return false;
  144.     else
  145.     if (!EW_checkrange(sYear, 0, 9999)) 
  146.         return false;
  147.     else
  148.     if (!EW_checkinteger(sDay)) 
  149.         return false;
  150.     else
  151.     if (!EW_checkday(sYear, sMonth, sDay))
  152.         return false;
  153.     else
  154.         return true;
  155.     }
  156.  
  157.  
  158. // Date (dd/mm/yyyy)
  159. function EW_checkeurodate(object_value)
  160.     {
  161.     if (object_value.length == 0)
  162.         return true;
  163.  
  164.     isplit = object_value.indexOf('/');
  165.  
  166.     if (isplit == -1)
  167.     {
  168.         isplit = object_value.indexOf('.');
  169.     }
  170.  
  171.     if (isplit == -1 || isplit == object_value.length)
  172.         return false;
  173.  
  174.     sDay = object_value.substring(0, isplit);
  175.  
  176.     monthSplit = isplit + 1;
  177.  
  178.     isplit = object_value.indexOf('/', monthSplit);
  179.  
  180.     if (isplit == -1)
  181.     {
  182.         isplit = object_value.indexOf('.', monthSplit);
  183.     }
  184.  
  185.     if (isplit == -1 ||  (isplit + 1 )  == object_value.length)
  186.         return false;
  187.  
  188.     sMonth = object_value.substring((sDay.length + 1), isplit);
  189.  
  190.     sYear = object_value.substring(isplit + 1);
  191.  
  192.     if (!EW_checkinteger(sMonth)) 
  193.         return false;
  194.     else
  195.     if (!EW_checkrange(sMonth, 1, 12)) 
  196.         return false;
  197.     else
  198.     if (!EW_checkinteger(sYear)) 
  199.         return false;
  200.     else
  201.     if (!EW_checkrange(sYear, 0, null)) 
  202.         return false;
  203.     else
  204.     if (!EW_checkinteger(sDay)) 
  205.         return false;
  206.     else
  207.     if (!EW_checkday(sYear, sMonth, sDay)) 
  208.         return false;
  209.     else
  210.         return true;
  211.     }
  212.  
  213.  
  214.  
  215. function EW_checkday(checkYear, checkMonth, checkDay)
  216.     {
  217.  
  218.     maxDay = 31;
  219.  
  220.     if (checkMonth == 4 || checkMonth == 6 ||
  221.             checkMonth == 9 || checkMonth == 11)
  222.         maxDay = 30;
  223.     else
  224.     if (checkMonth == 2)
  225.     {
  226.         if (checkYear % 4 > 0)
  227.             maxDay =28;
  228.         else
  229.         if (checkYear % 100 == 0 && checkYear % 400 > 0)
  230.             maxDay = 28;
  231.         else
  232.             maxDay = 29;
  233.     }
  234.  
  235.     return EW_checkrange(checkDay, 1, maxDay); 
  236.     }
  237.  
  238.  
  239.  
  240. function EW_checkinteger(object_value)
  241.     {
  242.     if (object_value.length == 0)
  243.         return true;
  244.  
  245.     var decimal_format = ".";
  246.     var check_char;
  247.  
  248.     check_char = object_value.indexOf(decimal_format)
  249.     if (check_char < 1)
  250.     return EW_checknumber(object_value);
  251.     else
  252.     return false;
  253.     }
  254.  
  255.  
  256.  
  257. function EW_numberrange(object_value, min_value, max_value)
  258.     {
  259.     if (min_value != null)
  260.     {
  261.         if (object_value < min_value)
  262.         return false;
  263.     }
  264.  
  265.     if (max_value != null)
  266.     {
  267.     if (object_value > max_value)
  268.         return false;
  269.     }
  270.     
  271.     return true;
  272.     }
  273.  
  274.  
  275.  
  276. function EW_checknumber(object_value)
  277.     {
  278.     if (object_value.length == 0)
  279.         return true;
  280.  
  281.     var start_format = " .+-0123456789";
  282.     var number_format = " .0123456789";
  283.     var check_char;
  284.     var decimal = false;
  285.     var trailing_blank = false;
  286.     var digits = false;
  287.  
  288.     check_char = start_format.indexOf(object_value.charAt(0))
  289.     if (check_char == 1)
  290.         decimal = true;
  291.     else if (check_char < 1)
  292.         return false;
  293.         
  294.     for (var i = 1; i < object_value.length; i++)
  295.     {
  296.         check_char = number_format.indexOf(object_value.charAt(i))
  297.         if (check_char < 0)
  298.             return false;
  299.         else if (check_char == 1)
  300.         {
  301.             if (decimal)
  302.                 return false;
  303.             else
  304.                 decimal = true;
  305.         }
  306.         else if (check_char == 0)
  307.         {
  308.             if (decimal || digits)    
  309.                 trailing_blank = true;
  310.         }
  311.         else if (trailing_blank)
  312.             return false;
  313.         else
  314.             digits = true;
  315.     }    
  316.  
  317.     return true
  318.     }
  319.  
  320.  
  321.  
  322. function EW_checkrange(object_value, min_value, max_value)
  323.     {
  324.     if (object_value.length == 0)
  325.         return true;
  326.  
  327.     if (!EW_checknumber(object_value))
  328.     {
  329.     return false;
  330.     }
  331.     else
  332.     {
  333.     return (EW_numberrange((eval(object_value)), min_value, max_value));
  334.     }
  335.     
  336.     return true;
  337.     }
  338.  
  339.  
  340.  
  341. function EW_checktime(object_value)
  342.     {
  343.     if (object_value.length == 0)
  344.         return true;
  345.  
  346.     isplit = object_value.indexOf(':');
  347.  
  348.     if (isplit == -1 || isplit == object_value.length)
  349.         return false;
  350.  
  351.     sHour = object_value.substring(0, isplit);
  352.     iminute = object_value.indexOf(':', isplit + 1);
  353.  
  354.     if (iminute == -1 || iminute == object_value.length)
  355.         sMin = object_value.substring((sHour.length + 1));
  356.     else
  357.         sMin = object_value.substring((sHour.length + 1), iminute);
  358.  
  359.     if (!EW_checkinteger(sHour))
  360.         return false;
  361.     else
  362.     if (!EW_checkrange(sHour, 0, 23)) 
  363.         return false;
  364.  
  365.     if (!EW_checkinteger(sMin))
  366.         return false;
  367.     else
  368.     if (!EW_checkrange(sMin, 0, 59))
  369.         return false;
  370.  
  371.     if (iminute != -1)
  372.     {
  373.         sSec = object_value.substring(iminute + 1);
  374.  
  375.         if (!EW_checkinteger(sSec))
  376.             return false;
  377.         else
  378.         if (!EW_checkrange(sSec, 0, 59))
  379.             return false;    
  380.     }
  381.     
  382.     return true;
  383.     }
  384.     
  385.  
  386.  
  387. function EW_checkphone(object_value)
  388.     {
  389.     if (object_value.length == 0)
  390.         return true;
  391.         
  392.     if (object_value.length != 12)
  393.         return false;
  394.  
  395.     if (!EW_checknumber(object_value.substring(0,3)))
  396.         return false;
  397.     else
  398.     if (!EW_numberrange((eval(object_value.substring(0,3))), 100, 1000))
  399.         return false;
  400.  
  401.     if (object_value.charAt(3) != "-" && object_value.charAt(3) != " ")
  402.         return false
  403.  
  404.     if (!EW_checknumber(object_value.substring(4,7)))
  405.         return false;
  406.     else
  407.     if (!EW_numberrange((eval(object_value.substring(4,7))), 100, 1000))
  408.         return false;
  409.     
  410.     if (object_value.charAt(7) != "-" && object_value.charAt(7) != " ")
  411.         return false;
  412.  
  413.     if (object_value.charAt(8) == "-" || object_value.charAt(8) == "+")
  414.         return false;
  415.     else
  416.     {
  417.         return (EW_checkinteger(object_value.substring(8,12)));
  418.     }
  419.     }
  420.  
  421.  
  422. function EW_checkzip(object_value)
  423.     {
  424.     if (object_value.length == 0)
  425.         return true;
  426.         
  427.     if (object_value.length != 5 && object_value.length != 10)
  428.         return false;
  429.  
  430.     if (object_value.charAt(0) == "-" || object_value.charAt(0) == "+")
  431.         return false;
  432.  
  433.     if (!EW_checkinteger(object_value.substring(0,5)))
  434.         return false;
  435.  
  436.     if (object_value.length == 5)
  437.         return true;
  438.     
  439.     if (object_value.charAt(5) != "-" && object_value.charAt(5) != " ")
  440.         return false;
  441.  
  442.     if (object_value.charAt(6) == "-" || object_value.charAt(6) == "+")
  443.         return false;
  444.  
  445.     return (EW_checkinteger(object_value.substring(6,10)));
  446.     }
  447.  
  448.  
  449. function EW_checkcreditcard(object_value)
  450.     {
  451.     var white_space = " -";
  452.     var creditcard_string="";
  453.     var check_char;
  454.  
  455.     if (object_value.length == 0)
  456.         return true;
  457.  
  458.     for (var i = 0; i < object_value.length; i++)
  459.     {
  460.         check_char = white_space.indexOf(object_value.charAt(i))
  461.         if (check_char < 0)
  462.             creditcard_string += object_value.substring(i, (i + 1));
  463.     }    
  464.  
  465.     if (creditcard_string.length == 0)
  466.         return false;     
  467.          
  468.     if (creditcard_string.charAt(0) == "+")
  469.         return false;
  470.  
  471.     if (!EW_checkinteger(creditcard_string))
  472.         return false;
  473.  
  474.     var doubledigit = creditcard_string.length % 2 == 1 ? false : true;
  475.     var checkdigit = 0;
  476.     var tempdigit;
  477.  
  478.     for (var i = 0; i < creditcard_string.length; i++)
  479.     {
  480.         tempdigit = eval(creditcard_string.charAt(i))
  481.  
  482.         if (doubledigit)
  483.         {
  484.             tempdigit *= 2;
  485.             checkdigit += (tempdigit % 10);
  486.  
  487.             if ((tempdigit / 10) >= 1.0)
  488.             {
  489.                 checkdigit++;
  490.             }
  491.  
  492.             doubledigit = false;
  493.         }
  494.         else
  495.         {
  496.             checkdigit += tempdigit;
  497.             doubledigit = true;
  498.         }
  499.     }    
  500.     return (checkdigit % 10) == 0 ? true : false;
  501.     }
  502.  
  503.  
  504. function EW_checkssc(object_value)
  505.     {
  506.     var white_space = " -+.";
  507.     var ssc_string="";
  508.     var check_char;
  509.  
  510.     if (object_value.length == 0)
  511.         return true;
  512.  
  513.     if (object_value.length != 11)
  514.         return false;
  515.  
  516.     if (object_value.charAt(3) != "-" && object_value.charAt(3) != " ")
  517.         return false;
  518.  
  519.     if (object_value.charAt(6) != "-" && object_value.charAt(6) != " ")
  520.         return false;
  521.      
  522.     for (var i = 0; i < object_value.length; i++)
  523.     {
  524.         check_char = white_space.indexOf(object_value.charAt(i))
  525.         if (check_char < 0)
  526.             ssc_string += object_value.substring(i, (i + 1));
  527.     }    
  528.  
  529.     if (ssc_string.length != 9)
  530.         return false;     
  531.          
  532.     if (!EW_checkinteger(ssc_string))
  533.         return false;
  534.  
  535.     return true;
  536.     }
  537.     
  538.  
  539. function EW_checkemail(object_value)
  540.     {
  541.       if(!(object_value.indexOf("@") > -1 && object_value.indexOf(".") > -1))
  542.          return false;    
  543.  
  544.     return true;
  545.     }
  546.     
  547.  
  548. // GUID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}    
  549. function EW_checkGUID(object_value)
  550.     {
  551.     if (object_value.length == 0)
  552.         return true;
  553.     if (object_value.length != 38)
  554.         return false;
  555.     if (object_value.charAt(0)!="{")
  556.         return false;
  557.     if (object_value.charAt(37)!="}")
  558.         return false;    
  559.  
  560.     var hex_format = "0123456789abcdefABCDEF";
  561.     var check_char;    
  562.  
  563.     for (var i = 1; i < 37; i++)
  564.     {        
  565.         if ((i==9)||(i==14)||(i==19)||(i==24)) {
  566.             if (object_value.charAt(i)!="-")
  567.                 return false;
  568.         } else {
  569.             check_char = hex_format.indexOf(object_value.charAt(i));
  570.             if (check_char < 0)
  571.                 return false;
  572.         }
  573.     }
  574.     return true;
  575.     }
  576.     
  577.